home *** CD-ROM | disk | FTP | other *** search
- /* Header for module TP_Decl, generated by p2c */
-
- #ifndef TP_DECL_H
- #define TP_DECL_H
-
- #ifdef TP_DECL_G
- # define vextern
- #else
- # define vextern extern
- #endif
-
- #include <stdio.h>
- #undef FALSE
- #undef TRUE
-
- typedef enum {FALSE,TRUE} boolean;
- typedef unsigned char uchar;
-
- /* #define uchar unsigned char */
- #define Char char
- #define Void void
-
- #define NilStr '\0'
- #define BufSize_ 512 /* 8192 */
- #define NoTracks 16
- #define MAXSLURR 10
- #define true TRUE
- #define false FALSE
- /* this is the maximum-1 that MusicTeX can handle */
-
- #define MAXBEAMS 9 /* ditto */
- #define MAXPARTS 25
- #define PT 3.5 /* 0.1 mm 1 inch/72.27 = 25.4/72.27 mm */
- #define VERSION "C-version V 1.1"
-
- typedef enum {
- WH, WHPPP, WHPP, WHP, H, HPPP, HPP, HP, Q, QPPP, QPP, QP, CPPP,
- CPP, C3, CP, C, CCPP, CC3, CCP, CC, CCC3, CCCP, CCC, CCCC3, CCCCP, CCCC
- } NoteTypes;
-
- typedef enum { SCREEN, DEBFILE, PRINT, NODEB } DebugType;
-
- typedef enum {
- VOID, NOTEON, NOTEOFF, REST, TXT, SIGNATURE, PEDAL, KEYSIGN } EventType;
-
- typedef enum { UP, DOWN } OrientType;
-
- typedef enum { VIOLIN, ALTO1, ALTO2, ALTO3, ALTO4, ALTO5, BASS } ClefType;
-
- typedef enum { STARTSLUR, ENDSLUR, REPEATSLUR } SlurType;
-
- typedef enum { NON, FLAT, SHARP, CORRECT } KeySignType;
-
- typedef struct {
- char p[81];
- char r[3];
- char d[81];
- #ifdef THINK_C
- char n[40]; /* for including the path in the filename */
- #endif
- #ifndef THINK_C
- char n[9];
- #endif
- char e[5];
- } FileNameType;
-
- typedef char String20Type[21];
- typedef char String255Type[256];
-
-
- typedef uchar BufType[BufSize_];
-
- typedef struct {
- unsigned short BufSemaphore;
- /*LastAvBytePnt,*/
- unsigned short LastNoBytesRead;
- char *BufPoint,*ReadBuf;
- /* BufType *ReadBuf; */
- long BytesProcessed;
- long ReadIn, i;
- boolean LastBlockRead, NoMoreData;
- long FilePosition;
- } FileRecord;
-
- typedef struct MeasureTime {
- long Measure, MPart;
- } MeasureTime;
-
- typedef struct NoteRecord {
- uchar MidiChnl, NoteVal, Velocity;
- NoteTypes NoteType;
- EventType Event;
- OrientType Orient;
- long FilePos;
- MeasureTime EndTime, StartTime;
- boolean ChordNote, BeamNote, SlurrNote;
- struct NoteRecord *Next, *Prev;
- Char *MetaTxt;
- } NoteRecord;
-
- typedef struct BeamRecord {
- NoteRecord *StartNote, *EndNote;
- uchar NoNotes, Pitch, Numb;
- char Slope;
- OrientType Orient;
- NoteTypes NoteType;
- boolean Chain2Next;
- } BeamRecord;
-
- typedef struct SlurrRecord {
- NoteRecord *NotePnt;
- uchar NoteVal, Numb1, Numb2;
- SlurType KindOf;
- OrientType Orient;
- boolean Occupied;
- } SlurrRecord;
-
- typedef struct ChordRecord {
- NoteRecord *StartNote, *EndNote;
- uchar NoNotes;
- boolean ChordFinished;
- } ChordRecord;
-
- typedef struct AccKeyType {
- KeySignType c, d, e, f, g, a, b;
- } AccKeyType;
-
- typedef AccKeyType AccKeyArray[NoTracks];
-
- typedef struct HeapRecord {
- NoteRecord *Tail;
- unsigned short Size;
- } HeapRecord;
-
- typedef NoteRecord NoteArrayType[50];
- typedef ChordRecord ChordArrayType[25];
- typedef BeamRecord BeamArrayType[MAXBEAMS];
- typedef SlurrRecord SlurrArrayType[MAXSLURR];
-
- typedef struct TrackRecord {
- HeapRecord NoteList, SpillList;
- ChordArrayType ChordArray;
- BeamArrayType BeamArray;
- SlurrArrayType SlurrArray;
- uchar ChStackEnd, ChStackPoint, NotesSounding, StatusByte;
- MeasureTime LastNoteOffTime, Curtime, OldTime, OldOldTime;
- FileRecord FilRec;
- long SlurrPt, BeamPt, ChordPt;
- boolean Beam, Slurring, Chord, Skip, Instrument, ForceZeroBeams,
- EndOfTrackRead;
- ClefType Clef;
- NoteRecord *PartStart[MAXPARTS], *PartEnd[MAXPARTS];
- AccKeyType AccKey;
- } TrackRecord;
-
- typedef struct ControlInfo {
- uchar Num; /* numerator of time signature */
- uchar Den; /* denominator of time signature */
- long Division; /* ticks in a quarter note */
- long TicksPerMeasure;
- unsigned short PartTime;
- uchar PartType, nparts;
- boolean PartOverRule;
- long Tempo; /* int microsecs per quart note */
- unsigned short Twindow; /* TimeWindow */
- long KeySign, Minor;
- } ControlInfo;
-
- typedef char MsArray[MAXPARTS][512];
-
- vextern Char TmpStr[41],STR1[256],STR2[256],STR3[256];
- /* vextern MsArray *Ms; */
- vextern uchar NilPos, Drno, abyte;
- vextern long ntracks, ninstruments, nTracksInInstr, CurTrack, FileFormat,
- SafetyCounter, OK_result;
- vextern FILE *MidiFile;
- vextern FILE *DebugFile, *TexFile;
- vextern uchar *DebBuf, *TexBuf;
- /* SearchRec FileInfo; */
- vextern FileNameType DebugFileName, MidiFileName, TeXFileName;
- vextern Char path[80];
- vextern Char fname[9];
- vextern Char dir[80];
- vextern Char ext[4];
- vextern long ReadIn, i;
- vextern boolean Quantizing, QuitTrack, DebugFileOpened, MidiFileOpened,
- TeXHeaderFinished, Debug,ChangedContext;
- vextern long QuantTime;
- vextern long NoOfBytes, ALongInt;
- vextern TrackRecord TrackArray[NoTracks];
- vextern boolean SlurrIndexes[26];
- vextern ControlInfo PieceContr;
- vextern MeasureTime TempTime, OldTime, CurTime;
- vextern Char MeasureStr[256];
- vextern DebugType DebugOut;
- vextern long MeasureCount;
- /* vextern Char Notes[129];
- vextern uchar CPosition; */
- vextern FileRecord HlpFilRec;
- vextern void *OldExitProc;
- vextern NoteRecord *N;
- vextern HeapRecord NotePool;
- vextern uchar TrackOrder[NoTracks];
- vextern long BeamIndex, OrderIndex, NoOfSkips, NoOfPages, Indent, BarIndent,
- ScoreWidth, ScoreHeight, ScoreSep, LineHeight, MeasureMaxCnt,
- ElemSkip, MusicSize, CumLength, CumHeight;
- vextern boolean SizingChanged, BatchProcessing;
- /*
- vextern Notes : ARRAY[1..66] of string[3] =
- ('?','?','?','?','?','?','?','?','?','?','?','?','!'+CHAR(39)+'A',
- '!'+CHAR(39)+'B','!'+CHAR(39)+'C','!'+CHAR(39)+'D','!'+CHAR(39)+'E',
- '!'+CHAR(39)+'F','!'+CHAR(39)+'G','A','B','C','D','E','F','G','H',
- 'I','J','K','L','M','N','a','b','c','d','e','f','g','h','i','j',
- 'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
- '?','?',
- '?','?','?','?','?');
- */
-
-
- #undef vextern
-
- #ifdef TP_DECL_G
- char Notes[66][4] =
- {"?","?","?","?","?","?","?","?","?","?","?","?",
- "!'A","!'B","!'C","!'D","!'E","!'F","!'G",
- "A","B","C","D","E","F","G","H","I","J","K","L","M","N",
- "a","b","c","d","e","f","g","h","i","j","k","l","m","n",
- "o","p","q","r","s","t","u","v","w","x","y","z",
- "?","?","?","?","?","?","?"};
-
- const int CPosition=36;
- #else
- extern char Notes[66][4];
- extern CPosition;
- #endif
-
- #endif /*TP_DECL_H */
-
- void _TP_Decl_init(void);
-
- /* End. */
-
-